package br.com.medmark.model.hibernate;

import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;

import org.hibernate.annotations.NotFound;

import br.medmark.util.Funcoes;


@Entity
@Table(name = "tb_solicitacoes")
public class Solicitacao  {
	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="codigo")
	private int codigo;
	
	@OneToOne(cascade={CascadeType.MERGE,CascadeType.PERSIST,CascadeType.REFRESH},optional = false, fetch = FetchType.EAGER, orphanRemoval = false)
    @JoinColumn(name="codigo_paciente", nullable=true)
	private Paciente paciente;
	
	
	@Column(name="data_solicitacao")
	private Date dataSolicitacao;
	
	@OneToOne(cascade={CascadeType.MERGE,CascadeType.PERSIST,CascadeType.REFRESH},optional = false, fetch = FetchType.EAGER, orphanRemoval = false)
    @JoinColumn(name="codigo_horario", nullable=true)
	private Horario horario;
	
	@Column(name="status_solicitacao")
	private int statusSolicitacao;

		
	public int getCodigo() {
		return codigo;
	}


	public void setCodigo(int codigo) {
		this.codigo = codigo;
	}


	public Date getDataSolicitacao() {
		return dataSolicitacao;
	}


	public void setDataSolicitacao(Date dataSolicitacao) {
		this.dataSolicitacao = dataSolicitacao;
	}


	public Horario getHorario() {
		return horario;
	}


	public void setHorario(Horario horario) {
		this.horario = horario;
	}


	public Paciente getPaciente() {
		return paciente;
	}


	public void setPaciente(Paciente paciente) {
		this.paciente = paciente;
	}


	public int getStatusSolicitacao() {
		return statusSolicitacao;
	}


	public void setStatusSolicitacao(int statusSolicitacao) {
		this.statusSolicitacao = statusSolicitacao;
	}


	

}
